package map;

import java.util.HashMap;
import java.util.Map;
/**
 * 统计字符串中每个字符出现的次数
 * 思路:
 * 用一个Map保存统计结果，key保存出现的字符，value保存该字符出现的次数
 * 利用字符串的charAt方法可以遍历字符串中每一个字符
 * 如果map中该字符不存在，则存入，并且对应的次数为1
 * 如果map中该字符已经存在，则根据该字符作为key提取其value(出现的次数)并对value+1再
 * 存回。
 * 遍历有输出map即可得知每个字符出现的次数。
 */
public class Test {
    public static void main(String[] args) {
        String line = "thinking in java! love java";
        Map<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < line.length(); i++) {
            char c = line.charAt(i);
            /*
            if (map.containsKey(c)){
                int sum=map.get(c);
                sum=sum+1;
                map.put(c,sum);
            }else {
                map.put(c,1);
            }

             */
            int num = map.containsKey(c) ? map.get(c) + 1 : 1;
            map.put(c,num);
        }
        System.out.println(map);
    }
}
